/**
 * 给你一个字符串 s ，字符串的「能量」定义为：只包含一种字符的最长非空子字符串的长度。

请你返回字符串 s 的 能量。

 

示例 1：

输入：s = "leetcode"
输出：2
解释：子字符串 "ee" 长度为 2 ，只包含字符 'e' 。
示例 2：

输入：s = "abbcccddddeeeeedcba"
输出：5
解释：子字符串 "eeeee" 长度为 5 ，只包含字符 'e' 。


来源：力扣（LeetCode）
链接：https://leetcode.cn/problems/consecutive-characters
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

/**
 * @param {string} s
 * @return {number}
 */
var maxPower = function (s) {
    let leng = s.length;
    let max = 1
    if (leng === 0) return 0

    let count = 1 //计算连续出现的次数
    for (var i = 0; i < leng; i++) {
        if (s[i] === s[i + 1]) {
            count++
            max = Math.max(max, count)

        } else {
            count = 1
        }

    }

    return max
};

var maxPower1 = function (s) {

    let leng = s.length;
    let max = 1
    if (leng === 0) return 0

    let r = 0; //右指针
    for (var i = 0; i < leng;) {
        while (r < leng && s[i] === s[r]) {
            r++
        }
        //算大值
        max = Math.max(max, r - i)
        console.log(r)
        //移动指针
        i = r
    }

    return max
}


var maxPower3 = function (s) {
    let leng = s.length;
    let max = 1
    if (leng === 0) return 0

    let left = 0 //先锁死一个 ，向右移动
    for (var right = 0; right < leng; right++) {
        if (s[left] === s[right]) {
            max = Math.max(max, right - left + 1)

        } else {
            left = right
        }
    }

    return max
};
